/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package economicocontrol.bl;

import economicocontrol.Validaciones.ValidacionesCampos;
import economicocontrol.calculos.ManejadorFechas;
import economicocontrol.dao.RegistroEconomicosDAO;
import economicocontrol.dao.RegistroEntradaSalidaDAO;
import economicocontrol.dao.entity.RegistroEconomicos;
import economicocontrol.dao.entity.RegistroEntradaSalida;
import java.util.Date;
import java.util.List;

/**
 *
 * @author iMac
 */
public class ReporteXeconomicoBL {
    
    private RegistroEconomicosDAO regEcoDAO;
    private RegistroEconomicos regEco;
    private ManejadorFechas manFec;
    private List<RegistroEconomicos> lisRegEco;
    private RegistroEntradaSalidaDAO regEntSalDAO;
    private List<RegistroEntradaSalida> listRegEntSal;
    
    public ReporteXeconomicoBL(){
        
        regEcoDAO = new RegistroEconomicosDAO();
        regEco = new RegistroEconomicos();
        regEntSalDAO =new RegistroEntradaSalidaDAO();
        manFec = new ManejadorFechas();
        
    }
    
    public void repEcoDAO(){
        lisRegEco = regEcoDAO.findAll();
    }

    public void locEco(int index){
        regEco=lisRegEco.get(index);
    }
    
    public boolean intevaloFecha(Date date1, Date date2){
        if(ValidacionesCampos.esMayorIgual(date1, date2)){
            listRegEntSal = regEntSalDAO.intevaloFecha(regEco.getIdEconomicos(),date1,date2);
            return true;
        }else
            return false;
    }
    
    public float promKmFechaSalidaEntradaEconomico(Date date1, Date date2){
        
        return regEntSalDAO.promKmFechaSalidaEntradaEconomico(regEco.getIdEconomicos(),date1.getDay(),date2.getDay(),manFec.diferenciasDeFechas(date1, date2))*manFec.diferenciasDeFechas(date1, date2);
    }

    public RegistroEconomicosDAO getRegEcoDAO() {
        return regEcoDAO;
    }

    public void setRegEcoDAO(RegistroEconomicosDAO regEcoDAO) {
        this.regEcoDAO = regEcoDAO;
    }

    public RegistroEconomicos getRegEco() {
        return regEco;
    }

    public void setRegEco(RegistroEconomicos regEco) {
        this.regEco = regEco;
    }

    public ManejadorFechas getManFec() {
        return manFec;
    }

    public void setManFec(ManejadorFechas manFec) {
        this.manFec = manFec;
    }

    public List<RegistroEconomicos> getLisRegEco() {
        return lisRegEco;
    }

    public void setLisRegEco(List<RegistroEconomicos> lisRegEco) {
        this.lisRegEco = lisRegEco;
    }

    public RegistroEntradaSalidaDAO getRegEntSalDAO() {
        return regEntSalDAO;
    }

    public void setRegEntSalDAO(RegistroEntradaSalidaDAO regEntSalDAO) {
        this.regEntSalDAO = regEntSalDAO;
    }

    public List<RegistroEntradaSalida> getListRegEntSal() {
        return listRegEntSal;
    }

    public void setListRegEntSal(List<RegistroEntradaSalida> listRegEntSal) {
        this.listRegEntSal = listRegEntSal;
    }
    
    
    
}
